﻿namespace Preactor.ObjectModel.Interfaces.MaterialControl
{
    using System;

    using Preactor.ObjectModel.Attributes;
    using Preactor.ObjectModel.Entities;

    public interface IDemand : IPreactorRecord
    {
        [PreactorField("Belongs to Order No.", FieldDeclarationType.FieldClassification)]
        string BelongsToOrderNumber { get; set; }

        [PreactorField("DEMAND TABLE", FieldDeclarationType.FieldClassification)]
        int Number { get; set; }

        [PreactorField("MATERIAL CONTROL ORDER NO", FieldDeclarationType.FieldClassification)]
        string OrderNumber { get; set; }

        [PreactorField("ORDER TYPE", FieldDeclarationType.FieldClassification)]
        string OrderType { get; set; }

        [PreactorField("Order Line", FieldDeclarationType.FieldClassification)]
        int OrderLine { get; set; }

        [PreactorField("Company", FieldDeclarationType.FieldClassification)]
        string Company { get; set; }

        [PreactorField("MATERIAL CONTROL PART NO", FieldDeclarationType.FieldClassification)]
        string PartNumber { get; set; }

        [PreactorField("Description", FieldDeclarationType.FieldClassification)]
        string Description { get; set; }

        [PreactorField("Wave", FieldDeclarationType.FieldClassification)]
        string Wave { get; set; }

        [PreactorField("DEMAND DATE", FieldDeclarationType.FieldClassification)]
        DateTime DemandDate { get; set; }

        [PreactorField("PRIORITY", FieldDeclarationType.FieldClassification)]
        int Priority { get; set; }

        [PreactorField("QUANTITY", FieldDeclarationType.FieldClassification)]
        double Quantity { get; set; }

        [PreactorField("PEGGING MULTIPLE", FieldDeclarationType.FieldClassification)]
        int MultipleQuantity { get; set; }

        [PreactorField("Import Marker", FieldDeclarationType.FieldClassification)]
        int ImportMarker { get; set; }
    }
}